﻿/*
SINACOR - BMF&Bovespa
Arquivo: ExisteRelacionamentoBroker.cs
Criado em: 26-mai-2010 17:49:30
Arquiteto Responsável: p-wgeneroso
*/
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using Sinacor.Infra.Service.Validation;
using Sinacor.Infra.Service.Common;
using Sinacor.Infra.Common.Exceptions;
using Sinacor.Infra.Service.ExceptionHandling;
using Sinacor.Infra.Service.Validation.BusinessRules;
using Sinacor.Infra.Common.Validation;

namespace Sinacor.Servico.Bovespa.Cliente.BusinessLogic.BusinessRuleValidation
{
    public class ExisteRelacionamentoBroker : BaseBusinessRuleValidation<BusinessEntity.RelacionamentoBroker>, IBusinessRuleValidation
    {
        #region Atributos

        private int _relacionamentoBrokerNaoExistente = 109719;

        #endregion

        #region Construtores

        public ExisteRelacionamentoBroker() 
        { 
        }

        #endregion

        #region Propriedades

        public int RelacionamentoBrokerNaoExistente
        {
            get
            {
                return _relacionamentoBrokerNaoExistente;
            }
            set
            {
                _relacionamentoBrokerNaoExistente = value;
            }
        }

        #endregion

        #region Métodos

        public List<ValidationError> GetErrors()
        {
            return base.ErrorsList;
        }

        public void Validate()
        {
            ResourceAccess.RelacionamentoBroker raRelacionamentoBroker = new ResourceAccess.RelacionamentoBroker();

            if (raRelacionamentoBroker.ConsultarRelacionamentosBroker(new BusinessEntity.Parameter.FiltroRelacionamentoBroker
                                                                                                    {
                                                                                                        CodigoBrokerIntermediario = EntityToValidate.CodigoBrokerIntermediario,
                                                                                                        CodigoBrokerPrincipal = EntityToValidate.CodigoBrokerPrincipal
                                                                                                    }).Count == 0)
            {
                base.AddValidationError(RelacionamentoBrokerNaoExistente);
            }
        }

        #endregion Métodos
    }
}